1 using System;
2 using System.Collections.Generic;
3 using System.ComponentModel;
4 using System.Drawing;
5 using System.Data;
6 using System.Linq;
7 using System.Text;
8 using System.Threading.Tasks;
9 using System.Windows.Forms;
10
11 namespace SoftQuanLyNhaHang.Views
12 {
13 public partial class uctKho_DsTonKho : UserControl
14 {
15 public uctKho_DsTonKho()
16 {
17 InitializeComponent();
18 }
19
20
21 public static uctKho_DsTonKho uctK_dsTk = new uctKho_DsTonKho();
22
23 int _IdKho = 0;
24
25 int _NhomSanPhamId = 0;
26
27 int _DanhMucId=0;
28 int _getSearchIdNhaCungCap = 0;
29
30 int _NhapHangId = 0;
31 string _AnhDaiDien = string.Empty;
32 int _HanMucDatHang = 0;
33 string _HanSuDung = string.Empty;
34 string _NgaySanXuat = string.Empty;
35 DateTime _NgayHetHan = DateTime.Now;
36
37 //
38 string _MoTa = string.Empty;
39 double _GiaNhap = 0;
40 double _SoLuong = 0;
41 double _Thue = 0;
42 double _ChietKhauPhanTram = 0;
43 double _TiLeLoiNhuan = 0;
44 double _GiaBanLe = 0;
45 double _GiaBanBuon = 0;
46 double _GiaKhuyenMai = 0;
47 DateTime _NgayBatDauGiamGia = DateTime.Now;
48 DateTime _NgayKetThuc = DateTime.Now;
49 string _TrangThai = "NhapHang";
50 DateTime _NgayTao = DateTime.Now;
51 string _ChietKhauTheo = "PhanTram";
52 double _TienThue = 0;
53 double _TienChietKhau = 0;
54 int _pageSize = 30;
55 int _pageIndex = 1;
56 int _tongSoBanGhi = 0;
57 int _stt = 0;
58
59 string _MaSanPham = string.Empty;
60 string _MaVietTat = string.Empty;
61 string _TenSanPham= string.Empty;
62 int _NhaCungCapId = 0;
63 int _DonViTinhId =0;
64
65 private void uctKho_DsTonKho_Load(object sender, EventArgs e)
66 {
67 this.HienThiDonViTinh_ComboBox();
68 //this.HienThiDsTonKho("", "", 0, 0);
69 }
70
71 private void HienThiDonViTinh_ComboBox()
72 {
73 Dictionary<string, string> comboSource = new Dictionary<string, string>();
74 comboSource.Add("0", "-- Chọn đơn vị tính --");
75 DataTable dtdvt = new DataTable();
76 dtdvt = Controllers.DonViTinhCtrl.FillDataSetDonViTinh_GetDanhSach().Tables[0];// Models.NhapKhoMod.FillDataSet_getTenDonViTinh().Tables[0];
77
78 if (dtdvt.Rows.Count > 0)
79 {
80 foreach (DataRow item in dtdvt.Rows)
81 {
82 comboSource.Add(item["IdDonViTinh"].ToString(), item["TenDonViTinh"].ToString());
83 }
84
85 }
86
87 cmbDonViTinh_TimKiem.DataSource = new BindingSource(comboSource, null);
88 cmbDonViTinh_TimKiem.DisplayMember = "Value";
89 cmbDonViTinh_TimKiem.ValueMember = "Key";
90 }
91
92 public void CallDsTonKho()
93 {
94 _pageSize = 30;
95 _pageIndex = 1;
96 _stt = 0;
97
98 this.HienThiDsTonKho("", "", 0, 0);
99 }
100
101 private void HienThiDsTonKho(string maSanPham, string tenSanPham, int nhaCungCapId, int donViTinhId)
102 {
103
104
105 dgvDanhSachTonKho.Rows.Clear();
106 //Ẩn cột đầu tiên
107 dgvDanhSachTonKho.RowHeadersVisible = false;
108 //-https://stackoverflow.com/questions/17404969/right-align-a-column-in-datagridview-doesnt-work
109 this.dgvDanhSachTonKho.Columns["STT"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
110 this.dgvDanhSachTonKho.Columns["STT"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
111 //this.dgvDanhSachTonKho.Columns["STT"].SortMode = DataGridViewColumnSortMode.NotSortable;
112
113 this.dgvDanhSachTonKho.Columns["TenDonViTinh"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
114 this.dgvDanhSachTonKho.Columns["TenDonViTinh"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
115
116 this.dgvDanhSachTonKho.Columns["SoLuongTonKho"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
117 this.dgvDanhSachTonKho.Columns["SoLuongTonKho"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
118
119 this.dgvDanhSachTonKho.Columns["GiaBanLe"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight;
120 this.dgvDanhSachTonKho.Columns["GiaBanLe"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;
121 DataTable dtTk = new DataTable();
122
123 dtTk = Controllers.KhoCtrl.FillDataSet_getKho_AllSearch_ByHaving_Hai(_IdKho, maSanPham, tenSanPham, _NhomSanPhamId, donViTinhId, _DanhMucId, nhaCungCapId, _NhapHangId, _AnhDaiDien, _HanMucDatHang, _HanSuDung, _NgaySanXuat, _NgayHetHan, _MoTa, _GiaNhap, _SoLuong, _Thue, _ChietKhauPhanTram, _TiLeLoiNhuan, _GiaBanLe, _GiaBanBuon, _GiaKhuyenMai, _NgayBatDauGiamGia, _NgayKetThuc, _TrangThai, _NgayTao, _ChietKhauTheo, _TienThue, _TienChietKhau, _pageSize, _pageIndex).Tables[0];
124
125 if (dtTk.Rows.Count > 0)
126 {
127 _tongSoBanGhi = Int32.Parse(dtTk.Rows[0]["TongSoBanGhi"].ToString());
128
129 float soLuongTon = 0;
130 double giaBanLe = 0;
131
132 float soLuongNhap = 0;
133 float soLuongDaBan = 0;
134
135 foreach (DataRow item in dtTk.Rows)
136 {
137 _stt += 1;
138 int nthue = dgvDanhSachTonKho.Rows.Add();
139
140 dgvDanhSachTonKho.Rows[nthue].Cells["MaVietTat"].Value = item["MaVietTat"].ToString();
141
142 dgvDanhSachTonKho.Rows[nthue].Cells["STT"].Value = _stt.ToString();
143
144 dgvDanhSachTonKho.Rows[nthue].Cells["TenSanPham"].Value = item["TenSanPham"].ToString();
145
146 soLuongNhap = (float)CauHinhHeThong.Format_SoDeTinhToan(item["SoLuongNhap"].ToString(), false);
147 soLuongDaBan = (float)CauHinhHeThong.Format_SoDeTinhToan(item["SoLuongDaBan"].ToString(), false);
148
149 dgvDanhSachTonKho.Rows[nthue].Cells["SoLuongNhap"].Value = CauHinhHeThong.Format_SoDeHienThi(soLuongNhap,false);
150
151 dgvDanhSachTonKho.Rows[nthue].Cells["SoLuongDaBan"].Value = CauHinhHeThong.Format_SoDeHienThi(soLuongDaBan, false);
152
153 soLuongTon = soLuongNhap - soLuongDaBan;
154 dgvDanhSachTonKho.Rows[nthue].Cells["SoLuongTonKho"].Value = CauHinhHeThong.Format_SoDeHienThi(soLuongTon, false);
155
156 giaBanLe = CauHinhHeThong.Format_SoDeTinhToan(item["GiaBanLe"].ToString(), false);
157
158 dgvDanhSachTonKho.Rows[nthue].Cells["GiaBanLe"].Value = CauHinhHeThong.Format_SoDeHienThi(giaBanLe, false);
159 dgvDanhSachTonKho.Rows[nthue].Cells["TenDonViTinh"].Value = item["TenDonViTinh"].ToString();
160 }
161
162 }
163 else
164 {
165 _tongSoBanGhi = 0;
166 }
167
168 lblTongSoBanGhiHienThi.Text = CauHinhHeThong.HienThiSoBanGhiTuA_DenB(_pageSize, _pageIndex, _stt.ToString(), _tongSoBanGhi.ToString());
169 }
170
171 private void txtTenSanPham_TimKiem_TextChanged(object sender, EventArgs e)
172 {
173 _pageSize = 30;
174 _pageIndex = 1;
175 _stt = 0;
176
177 _MaSanPham = txtMaSanPhamOrMaVietTat_TimKiem.Text.Trim();
178 _TenSanPham = txtTenSanPham_TimKiem.Text.Trim();
179 _DonViTinhId = Int32.Parse(cmbDonViTinh_TimKiem.SelectedValue.ToString());
180
181 this.HienThiDsTonKho(_MaSanPham, _TenSanPham, _NhaCungCapId, _DonViTinhId);
182 }
183
184 private void txtMaSanPhamOrMaVietTat_TimKiem_TextChanged(object sender, EventArgs e)
185 {
186 _pageSize = 30;
187 _pageIndex = 1;
188 _stt = 0;
189
190 _MaSanPham = txtMaSanPhamOrMaVietTat_TimKiem.Text.Trim();
191 _TenSanPham = txtTenSanPham_TimKiem.Text.Trim();
192 _DonViTinhId = Int32.Parse(cmbDonViTinh_TimKiem.SelectedValue.ToString());
193
194 this.HienThiDsTonKho(_MaSanPham, _TenSanPham, _NhaCungCapId, _DonViTinhId);
195 }
196
197 private void cmbDonViTinh_TimKiem_SelectionChangeCommitted(object sender, EventArgs e)
198 {
199 _pageSize = 30;
200 _pageIndex = 1;
201 _stt = 0;
202
203 _MaSanPham = txtMaSanPhamOrMaVietTat_TimKiem.Text.Trim();
204 _TenSanPham = txtTenSanPham_TimKiem.Text.Trim();
205 _DonViTinhId = Int32.Parse(cmbDonViTinh_TimKiem.SelectedValue.ToString());
206
207 this.HienThiDsTonKho(_MaSanPham, _TenSanPham, _NhaCungCapId, _DonViTinhId);
208 }
209
210 private void btnTiep_Click(object sender, EventArgs e)
211 {
212 if (_tongSoBanGhi > (_pageSize * _pageIndex))
213 {
214 _pageIndex = _pageIndex + 1;
215
216 //goi lai ds
217 _MaSanPham = txtMaSanPhamOrMaVietTat_TimKiem.Text.Trim();
218 _TenSanPham = txtTenSanPham_TimKiem.Text.Trim();
219 _DonViTinhId = Int32.Parse(cmbDonViTinh_TimKiem.SelectedValue.ToString());
220
221 this.HienThiDsTonKho(_MaSanPham, _TenSanPham, _NhaCungCapId, _DonViTinhId);
222
223 }
224 else
225 {
226 return;
227 }
228 }
229
230 private void btnSau_Click(object sender, EventArgs e)
231 {
232 if ((_pageSize * _pageIndex) > _pageSize)
233 {
234 _pageIndex = _pageIndex - 1;
235 _stt = _pageSize * _pageIndex - _pageSize;
236
237 //goi lai ds
238 _MaSanPham = txtMaSanPhamOrMaVietTat_TimKiem.Text.Trim();
239 _TenSanPham = txtTenSanPham_TimKiem.Text.Trim();
240 _DonViTinhId = Int32.Parse(cmbDonViTinh_TimKiem.SelectedValue.ToString());
241
242 this.HienThiDsTonKho(_MaSanPham, _TenSanPham, _NhaCungCapId, _DonViTinhId);
243
244 }
245 else
246 {
247 _pageIndex = 1;
248 }
249 }
250 }
251 }